The present application is directed toward a universal print driver for producing printouts from multiple print devices that can each be made compatible with the print driver after the print driver is deployed in a customer environment. The present application further relates to a method for installing and updating device-specific data files onto the universal print driver for supporting new print devices interfaced with the print driver after the print driver was initially installed.
A print driver is a software program that formats a document into a print-compatible language. The print driver is generally in communication with a destination print device through a network. The print driver receives a document in a first format and sends the document to the networked print device in a second, printer-ready format. More specifically, the print driver converts the data that is to be printed into a format that is specific to the print device. A decomposer then uses the data that is included in a print data stream to generate raster data, which eventually gets printed.
A traditional print driver is connected to a single device per printer object or print queue. A universal print driver, however, is a single printer driver that is compatible with multiple print devices. A first conventional type of universal print driver is referred to as a Global Print Driver (“X-GPD”), which can successfully print with full functionality to multiple devices. This type of universal driver is in communication with the print queue and becomes the driver for the print device that is connected with a client. Another conventional type of universal print driver is referred to as a Mobile Express Driver (“X-MED”). This type of universal print driver becomes the driver for the specific print device that is selected from a set of devices by the user, at the time that the print instruction is provided for the print job, for rendering a printout of a document.
However, these conventional types of universal print drivers provide the user with only the most basic functionalities of print devices that are interfaced with the network after the original version of the printer driver was installed. When a print instruction is received for producing a printout using a print device that is not yet supported by the conventional universal print driver, the print driver cannot access the advanced features of the unsupported device without being re-installed. Accordingly, the print device cannot use its full set of capabilities for producing the printout unless the print driver is upgraded on a server that is in communication with the print driver.
As mentioned, one aspect of conventional universal print drivers is that a new version of the print driver must be re-installed each instance when a print device is not supported by the original installation of the print driver. One drawback to the re-installment process is that Windows Hardware Qualifications Lab (“WHQL”) certification restrictions require that upgrades to the conventional drivers be made through the server. Therefore, print drivers cannot update their capabilities without affecting all connected print queues.
There is henceforth needed a universal print driver that is adapted for effectively acquiring a device specific data file for the unsupported print device without having to undergo a re-installation process.